#ifndef BALL_H
#define BALL_H

#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include "DynamicSprite.h"

using namespace gaim;

	class Ball: public DynamicSprite{
//	private:    
    
    protected:
        Ball(const Point2& startPos, const std::map<std::string, Image>& images, bool isRect);
        
    public:
        //static Ball* getInstance(const std::map<std::string, Image>& images,
         //                                 const std::string& startingImage, const Point2& pos, const int& z);

        static Ball* getInstance(const Point2& startPos, const std::map<std::string, Image>& images, bool isRect);
        void update(const std::set<Sprite*>& sprites, const double dt);
       
               //ball bounce methods
        
        void hitLeft();
        void hitRight();
        void hitTop();
        void hitBottom();
        void hitBottom(double factoredScaleValue);
       
        void onCollision(std::set<Sprite*> collided);
       
 
        
        

      /*  void update(const std::set<Sprite*>& sprites, const double dt);

        void move(const double x, const double y);
        void move(const Vector2& vec);

        void setVel(const Vector2& vel);
        void accelerate(const Vector2& acc);

        const Vector2& getVel() const;

*/
    };
#endif

